﻿using System;
using System.Collections.Generic;
using BalanceManager.Model;

namespace BalanceManager.Services
{
    public interface IDataService
    {
        List<Item> Items { get; }
        void SaveItem(Item item);
        void DeleteItem(int id);
        bool ItemHasChilds(Item item);
        Item GetItemById(int id);
        List<FundFlow> LoadFundFlows(DateTime dateFrom, DateTime dateTo, FlowType flowType);
        List<FundFlow> LoadFundFlows(DateTime dateFrom, DateTime dateTo);
        void SaveFundFlow(FundFlow value);
        bool ItemExistsInFundFlows(Item value);
        FundFlow GetFundFlowById(int id);
        void DeleteFundFlow(int id);
        List<Item> RecentlyUsedItems(int maxCount);
    }
}
